home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / tex / macros / source / contrib / supported / xypic / src / xyps-r.doc < prev    next >
Text File  |  1995-03-15  |  5KB  |  154 lines

  1. %% $Id: xyps-r.doc,v 2.9 1994/06/09 14:38:56 ross Exp $
  2. %%
  3. %% XY-pic ``PostScript Rotations and Scaling''.
  4. %% Copyright (c) 1993-1994    Ross Moore    <ross@mpce.mq.edu.au>
  5. %%
  6. %% This file is part of the XY-pic package for graphs and diagrams in TeX.
  7. %% See the companion README and INSTALL files for further information.
  8. %% Copyright (c) 1991-1994    Kristoffer H. Rose    <kris@diku.dk>
  9. %%
  10. %% The XY-pic package is free software; you can redistribute it and/or modify
  11. %% it under the terms of the GNU General Public License as published by the
  12. %% Free Software Foundation; either version 2 of the License, or (at your
  13. %% option) any later version.
  14. %%
  15. %% The XY-pic package is distributed in the hope that it will be useful, but
  16. %% WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  17. %% or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  18. %% for more details.
  19. %%
  20. %% You should have received a copy of the GNU General Public License along
  21. %% with this package; if not, write to the Free Software Foundation, Inc.,
  22. %% 675 Mass Ave, Cambridge, MA 02139, USA.
  23. %%
  24. \ifx\xypsrloaded\relax \message{not reloaded}\endinput \fi
  25. \let\xypsrloaded=\relax \xycatcodes
  26.  
  27. \DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  28.  
  29. This included file (version \stripRCS$Revision: 2.9 $) provides \XY-ps
  30. support for the effects defined in the |rotate| extension.
  31.  
  32. \DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  33. \DOCHEADER
  34.  
  35. \DOCMODE(
  36. \xyrequire{rotate}
  37. \xyrequire{ps}
  38. \xycatcodes
  39. \DOCMODE)
  40.  
  41. All effects defined in the |rotate| extension can
  42. be implemented using the \PS\ back-end, loaded as |xyps|.  However not
  43. all the effects are correctly handled by all the different \PS\
  44. drivers. This file provides `generic \PS\ code which is known to work
  45. correctly with most drivers. No attempt is made to provide special
  46. code for particular drivers; for driver-specific variations, consult
  47. the appropriate |xyps-|<driver> file.
  48.  
  49. \DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  50.  
  51. \paragraph*{Transform lists}
  52.  
  53. \DOCMODE(
  54. \xydef@\xyPSpretransform@{\xyPSrawA@{\preXYtransform@@}}
  55. \xydef@\xyPSposttransform@{\xyPSrawZ@{\postXYtransform@@}}
  56.  
  57. \xyPSalternative@{\preXYtransform@}{pretransform}
  58. \xyPSalternative@{\postXYtransform@}{posttransform}
  59. \DOCMODE)
  60.  
  61. \DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  62.  
  63. \paragraph*{Rescaling}
  64.  
  65. \DOCMODE(
  66. \xydef@\xyPSscale@#1#2{%\bgroup
  67. % \def\preXYtransform@@{\xyPSpre@}\def\postXYtransform@@{\xyPSpost@}% 
  68. % \let\modPSboxz@=\modXYtransform@ 
  69.  \xyPSsplitPS@{\xyscale@start(#1,#2)}{\xyscale@end}\xyPSpsxy@ 
  70. % \egroup
  71. %  \toks@={\egroup\let\xy@transform@=\relax\def\Drop@@}%
  72. % \expandafter\addtotoks@\expandafter{\expandafter{\Drop@@}}\the\toks@
  73. % \xyPSpsxy@ 
  74.  }
  75.  
  76. \xydef@\xyscale@start(#1,#2){xyXpos xyYpos 2 copy translate
  77.   #1\space#2\space scale neg exch neg exch translate }
  78. \xydef@\xyscale@end{}
  79. \DOCMODE)
  80.  
  81. \DOCMODE(
  82.  \xyPSalternative@{\xyscale@@}{scale}
  83. \DOCMODE)
  84.  
  85. \DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  86.  
  87. \paragraph*{Rotations}
  88.  
  89. \DOCMODE(
  90. \xydef@\xyrot@start(#1){ xyXpos xyYpos 2 copy translate
  91.   #1\space neg rotate neg exch neg exch translate }
  92. \xydef@\xyrot@end{}
  93.  
  94. \xydef@\xyPSrotate@#1{%\bgroup
  95. % \def\preShape@@{\xyPSpre@}\def\postShape@@{\xyPSpost@}% 
  96. % \let\modPSboxz@=\modXYtransform@ 
  97.  \xyPSsplitPS@{\xyrot@start(#1 setupDirection XYdirection 2 mul)}{}%
  98.   \xyPSpsxy@ 
  99. %  \toks@={\egroup\let\xy@transform@=\relax\def\Drop@@}%
  100. % \expandafter\addtotoks@\expandafter{\expandafter{\Drop@@}}\showthe\toks@
  101. % \the\toks@\xyPSpsxy@
  102.  }
  103.  
  104. \xydef@\xyPSspecialRotate@#1{%\bgroup
  105. % \def\preShape@@{\xyPSpre@}\def\postShape@@{\xyPSpost@}% 
  106. % \let\modPSboxz@=\modXYtransform@ 
  107.  \xyPSsplitPS@{\xyrot@start(#1)}{}\xyPSpsxy@ 
  108. %  \toks@={\egroup\let\xy@transform@=\relax\def\Drop@@}%
  109. % \expandafter\addtotoks@\expandafter{\expandafter{\Drop@@}}\the\toks@
  110. % \xyPSpsxy@
  111.  }
  112.  
  113. \xyPSalternative@{\xyRotate@@}{rotate}
  114. \xyPSalternative@{\xySpecialRotate@@}{specialRotate}
  115. \DOCMODE)
  116.  
  117. \DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  118.  
  119. \paragraph*{Shearing}
  120.  
  121. This feature is not implemented yet.
  122.  
  123. \DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  124.  
  125. \paragraph*{The end \& Log}\leavevmode
  126.  
  127. \DOCMODE(
  128. \xyendinput
  129.  
  130. % $Log: xyps-r.doc,v $
  131. % Revision 2.9  1994/06/09  14:38:56  ross
  132. % Release 3beta.
  133. % Includes support for special effects: Rotations, Scaling, Line-width, Colour.
  134. % Back-ends are separated into separate files.
  135. % More back-ends are supported, experimentally --- needs testing.
  136. %
  137. % Revision 2.9  1994/06/09  14:38:56  ross
  138. % Release 3beta.
  139. % Includes support for special effects: Rotations, Scaling, Line-width, Colour.
  140. % Back-ends are separated into separate files.
  141. % More back-ends are supported, experimentally --- needs testing.
  142. %
  143. % NEW for version 2.9 by by Ross Moore.
  144. \DOCMODE)
  145.  
  146. \DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  147.  
  148. % Tell Emacs that this is a LaTeX document and how it is formatted:
  149. % Local Variables:
  150. % mode:latex
  151. % fill-column:77
  152. % fill-prefix:""
  153. % End:
  154.